#include <bits/stdc++.h>
using namespace std;
int n, a[200020], dp[101][101][101];
int dfs(int num, int r, int b, int c){
    if (num==n+1) return c;
    if (dp[num][r][b]!=0) return c+dp[num][r][b];

    if (a[num]==r){
        dp[num][r][b]=dfs(num+1, r, b, r);
        return c+dp[num][r][b];
    }
    else if (a[num]==b){
        dp[num][r][b]=dfs(num+1, r, b, b);
        return c+dp[num][r][b];
    }
    else{
        dp[num][r][b]=max(dfs(num+1, a[num], b, 0), dfs(num+1, r, a[num], 0));
        return c+dp[num][r][b];
    }
}
int main(){
    freopen ("color.in","r",stdin);
    freopen ("color.out","w",stdout);
    int T;
    scanf("%d", &T);
    while(T--){
        scanf("%d", &n);
        for (int i=1; i<=n; i++)
            scanf("%d", &a[i]);
        printf("%d\n", dfs(1, 0, 0, 0));
        for (int i=1; i<=100; i++)
            for (int j=0; j<=100; j++)
                for (int k=0; k<=100; k++)
                    dp[i][j][k]=0;
    }
    return 0;
}
